本篇文章內有:
第一天先來介紹一下什麼是 CDK,不對,在這之前可能要先聊一下在標題的 IaC 是什麼東西。
在開發各種應用程式的時候,我們總是要把這些成品或半成品放在某個地方運行起來。
這個地方可以是直接從 CLI 跑起來;也許他已經在容器 (container) 內好好的包起來,用 Docker 管理;或者在雲端供應商,像是 AWS 、 Azure 、 GCP ,上面開好機器準備服務使用者。
在設置這些運行應用程式的載體時,很多時間都是手動建立的。遇到了 bug 就口耳相傳怎麼繞開,或是錄影存證整個設置流程。
在歷史的滾動中,這往往會變成一脈相承,更多時候會絕後,沒有人知道這上古卷軸是如何編織成冊的。
基礎架構即代碼 IaC (Infrastructure as Code) 就這樣出現了, AWS CloudFormation 就是 AWS 所提供的 IaC 解決方案。
在一開始 IaC 都還只是些由標記語言,例如 JSON 、 YAML,所編寫的檔案,雖然他解決了人為操作失誤的問題,但是對於開發人員的友善度可能只能算擦邊球及格,無論是上萬行的 YAML 或是各種服務自定義的關鍵字。
而 AWS CDK 就此應運而生。
在 2019/07/11 發佈了 AWS Cloud Development Kit (AWS CDK) , 2021/04/30 開始 進行 AWS Cloud Development Kit (AWS CDK) v2 的公測,並在 2021/12/02 釋出 AWS Cloud Development Kit (AWS CDK) v2 。
在揮別標記語言之後迎來的是各種 (JavaScript, TypeScript, Python, Java, .NET, Go) 在寫應用程式時常用的語言,可以選擇自己熟悉的語言來編寫 IaC 、加測試腳本、整合 CLI ……等等,都是 AWS CDK 所帶來的好處。
在進入正題前,我們先來準備 AWS 帳號。
這系列文章會盡量控制在免付費範圍內,但還是要記得隨手關資源,救救荷包君。
請準備一張可以進行跨國非過卡交易的信用卡。
最後一步就不要多花錢了,免費的就好。
申請完成後,登入 AWS Console ,從右上角的帳戶名稱進入 Billing Dashboard , AWS 在收錢之前會在這邊列出所有的細項。
左邊的 Billing > Free tier 則會列出所有使用中的免費試用項目。
在練習完之後,可以選擇從從右上角的帳戶名稱進入 Account ,在最下面選擇關閉帳戶。
注意:在關閉前請務必閱讀上面所有的事項。
關閉之後會看到這個畫面。
在了解 CDK 是什麼之後,今天就來設置用來開發的環境,這邊文章主要語言會使用。
為了要安裝會用到的東西,這邊推薦兩個軟體套件管理系統, macOS 上面首選 Homebrew ,而 Windows 可以用 Scoop 。
官方可能會推薦各自不同的安裝手法,有興趣可以多多比較。
這邊先列出在這系列文章中會用到的所有軟體:
可以用以下指令安裝,這邊根據不同 OS 會有各自的指令,往後文章中如果沒有特別標明,就表示指令是通用的。
macOS:
brew install \
awscli \
node@18\
visual-studio-code
Windows:
scoop install git
scoop bucket add extras
scoop install `
aws `
nodejs-lts `
vscode
好的,到這邊就結束了,然而會發現其實以上的指令都沒提及 AWS CDK ,這是因為 AWS CDK 實際上是一個 npm 套件,在建立 AWS CDK 專案的同時, npm 就會幫忙安裝好 AWS CDK 了。
希望到這邊,大家已經對 AWS CDK 的背景跟應用場景略懂略懂,手邊也有了 AWS 帳號可以玩弄,需要的軟體也都裝好了,接下來我們將正式從 0 開始。